
using System;
using System.Runtime.InteropServices;

namespace Bioscrypt
{
    [StructLayout(LayoutKind.Sequential)]
    public struct RawImageFullStruct
    {
        /// <summary>
        /// Number of X pixels.
        /// </summary>
        public int X;

        /// <summary>
        /// Number of Y pixels.
        /// </summary>
        public int Y;

        /// <summary>
        /// Number of bits in each pixel (currently 8)
        /// </summary>
        public int Bits;

        const int RAW_IMAGE_SIZE_X = 300;
        const int RAW_IMAGE_SIZE_Y = 300;

        /// <summary>
        /// Byte array of X pixels by Y pixels.
        /// </summary>
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = RAW_IMAGE_SIZE_X * RAW_IMAGE_SIZE_Y)]
        public byte[] Image;
    }
}
